<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      Doxygen-1.8.17
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-2020-04-02">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 2020-04-02
      </h4>
      <h3>
        Chapter&nbsp;13.&nbsp;Programming
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="dejagnu.html" title="DejaGnu-1.6.2">Prev</a>
          <p>
            DejaGnu-1.6.2
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="expect.html" title="Expect-5.45.4">Next</a>
          <p>
            Expect-5.45.4
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="prog.html" title=
          "Chapter&nbsp;13.&nbsp;Programming">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="doxygen" name="doxygen"></a>Doxygen-1.8.17
      </h1>
      <div class="package" lang="en" xml:lang="en">
        <h2 class="sect2">
          Introduction to Doxygen
        </h2>
        <p>
          The <span class="application">Doxygen</span> package contains a
          documentation system for C++, C, Java, Objective-C, Corba IDL and
          to some extent PHP, C# and D. It is useful for generating HTML
          documentation and/or an off-line reference manual from a set of
          documented source files. There is also support for generating
          output in RTF, PostScript, hyperlinked PDF, compressed HTML, and
          Unix man pages. The documentation is extracted directly from the
          sources, which makes it much easier to keep the documentation
          consistent with the source code.
        </p>
        <p>
          You can also configure <span class="application">Doxygen</span> to
          extract the code structure from undocumented source files. This is
          very useful to quickly find your way in large source distributions.
          Used along with <span class="application">Graphviz</span>, you can
          also visualize the relations between the various elements by means
          of include dependency graphs, inheritance diagrams, and
          collaboration diagrams, which are all generated automatically.
        </p>
        <p>
          This package is known to build and work properly using an LFS-9.1
          platform.
        </p>
        <h3>
          Package Information
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (HTTP): <a class="ulink" href=
                "http://doxygen.nl/files/doxygen-1.8.17.src.tar.gz">http://doxygen.nl/files/doxygen-1.8.17.src.tar.gz</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: 7997a15c73a8bd6d003eaba5c2ee2b47
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 4.9 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 159 MB (with tests)
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: 0.9 SBU (using parallelism=4; with
                tests)
              </p>
            </li>
          </ul>
        </div>
        <h3>
          Doxygen Dependencies
        </h3>
        <h4>
          Required
        </h4>
        <p class="required">
          <a class="xref" href="cmake.html" title=
          "CMake-3.17.0">CMake-3.17.0</a> and <a class="xref" href="git.html"
          title="Git-2.26.0">git-2.26.0</a>
        </p>
        <h4>
          Optional
        </h4>
        <p class="optional">
          <a class="xref" href="graphviz.html" title=
          "Graphviz-2.42.3">Graphviz-2.42.3</a>, <a class="xref" href=
          "../pst/gs.html" title="ghostscript-9.52">ghostscript-9.52</a>,
          <a class="xref" href="libxml2.html" title=
          "libxml2-2.9.10">libxml2-2.9.10</a> (required for the tests),
          <a class="xref" href="llvm.html" title=
          "LLVM-10.0.0">LLVM-10.0.0</a> (with clang), <a class="xref" href=
          "python2.html" title="Python-2.7.17">Python-2.7.17</a>, <a class=
          "xref" href="../x/qt5.html" title="Qt-5.14.1">Qt-5.14.1</a> (for
          doxywizard), <a class="xref" href="../pst/texlive.html" title=
          "texlive-20190410-source">texlive-20190410</a> (or <a class="xref"
          href="../pst/tl-installer.html" title=
          "install-tl-unx">install-tl-unx</a>), and <a class="xref" href=
          "xapian.html" title="Xapian-1.4.15">xapian-1.4.15</a> (for
          doxyindexer)
        </p>
        <p class="usernotes">
          User Notes: <a class="ulink" href=
          "http://wiki.linuxfromscratch.org/blfs/wiki/doxygen">http://wiki.linuxfromscratch.org/blfs/wiki/doxygen</a>
        </p>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of Doxygen
        </h2>
        <p>
          Install <span class="application">Doxygen</span> by running the
          following commands:
        </p>
        <pre class="userinput">
<kbd class="command">mkdir -v build &amp;&amp;
cd       build &amp;&amp;

cmake -G "Unix Makefiles"         \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -Wno-dev .. &amp;&amp;

make</kbd>
</pre>
        <p>
          To test the results, issue: <span class="command"><strong>make
          tests</strong></span>. One test, 012_cite.dox, is known to fail.
        </p>
        <p>
          If you wish to generate the package documentation, you must have
          <span class="application">Python</span>, <span class=
          "application">TeX Live</span> (for HTML docs) and <span class=
          "application">Ghostscript</span> (for PDF docs) installed, then
          issue the following command:
        </p>
        <pre class="userinput">
<kbd class=
"command">cmake -DDOC_INSTALL_DIR=share/doc/doxygen-1.8.17 -Dbuild_doc=ON .. &amp;&amp;

make docs</kbd>
</pre>
        <p>
          Now, as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">make install &amp;&amp;
install -vm644 ../doc/*.1 /usr/share/man/man1</kbd>
</pre>
        <p>
          If you have generated the package documentation, then the man pages
          are automatically installed, and you do not need to run the last
          <span class="command"><strong>install ...</strong></span> command.
        </p>
      </div>
      <div class="commands" lang="en" xml:lang="en">
        <h2 class="sect2">
          Command Explanations
        </h2>
        <p>
          <code class="option">-Dbuild_wizard=ON</code>: Use this switch if
          <span class="application">Qt5</span> is installed and you wish to
          build the GUI front-end.
        </p>
        <p>
          <code class="option">-Dbuild_search=ON</code>: Use this switch if
          <span class="application">xapian</span> is installed and you wish
          to build external search tools (<span class=
          "command"><strong>doxysearch.cgi</strong></span> and <span class=
          "command"><strong>doxyindexer)</strong></span>.
        </p>
        <p>
          <code class="option">-Duse_libclang=ON</code>: Use this switch if
          <span class="application">llvm</span> with <span class=
          "application">clang</span> are installed, to add support for
          libclang parsing.
        </p>
      </div>
      <div class="configuration" lang="en" xml:lang="en">
        <h2 class="sect2">
          Configuring Doxygen
        </h2>
        <p>
          There is no real configuration necessary for the <span class=
          "application">Doxygen</span> package although three additional
          packages are required if you wish to use extended capabilities. If
          you need to use the language translation features, you must have
          <a class="xref" href="python2.html" title=
          "Python-2.7.17">Python-2.7.17</a> installed. If you require
          formulas to create PDF documentation, then you must have <a class=
          "xref" href="../pst/texlive.html" title=
          "texlive-20190410-source">texlive-20190410</a> installed. If you
          require formulas to convert PostScript files to bitmaps, then you
          must have <a class="xref" href="../pst/gs.html" title=
          "ghostscript-9.52">ghostscript-9.52</a> installed.
        </p>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">doxygen and optionally, doxywizard,
              doxyindexer and doxysearch.cgi</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">None</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directory:</strong>
              <span class="segbody">/usr/share/doc/doxygen-1.8.17</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3>
            Short Descriptions
          </h3>
          <table border="0" class="variablelist">
            <colgroup>
              <col align="left" valign="top" />
              <col />
            </colgroup>
            <tbody>
              <tr>
                <td>
                  <p>
                    <a id="doxygen-prog" name="doxygen-prog"></a><span class=
                    "term"><span class=
                    "command"><strong>doxygen</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a command-line based utility used to generate template
                    configuration files and then generate documentation from
                    these templates. Use <span class=
                    "command"><strong>doxygen --help</strong></span> for an
                    explanation of the command-line parameters.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="doxywizard" name="doxywizard"></a><span class=
                    "term"><span class=
                    "command"><strong>doxywizard</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a GUI front-end for configuring and running
                    <span class="command"><strong>doxygen</strong></span>.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="doxyindexer" name="doxyindexer"></a><span class=
                    "term"><span class=
                    "command"><strong>doxyindexer</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    generates a search index called <code class=
                    "filename">doxysearch.db</code> from one or more search
                    data files produced by <span class=
                    "command"><strong>doxygen</strong></span>. See, e.g.
                    <a class="ulink" href=
                    "http://www.stack.nl/~dimitri/doxygen/manual/extsearch.html">
                    http://www.stack.nl/~dimitri/doxygen/manual/extsearch.html</a>.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="doxysearch.cgi" name=
                    "doxysearch.cgi"></a><span class="term"><span class=
                    "command"><strong>doxysearch.cgi</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a CGI program to search the data indexed by
                    <span class=
                    "command"><strong>doxyindexer</strong></span>.
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <p class="updated">
        Last updated on 2020-03-12 04:24:44 -0500
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="dejagnu.html" title="DejaGnu-1.6.2">Prev</a>
          <p>
            DejaGnu-1.6.2
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="expect.html" title="Expect-5.45.4">Next</a>
          <p>
            Expect-5.45.4
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="prog.html" title=
          "Chapter&nbsp;13.&nbsp;Programming">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
